There are many factors that contribute to speciation events.
Importantly in plants, pollinators can have a large impact on breeding
between different individuals. This discrimination of pollinators is
driven by a variety of morphological traits in the plant, therefore
possibly leading specific pollinators to having a strong plant
preference. This knowledge leads to the question: Do pollinators
discriminate between subspecies of rabbitbrush? Studying these
differences can be important for predicting gene flow and how speciation
events may start to occur.
Here is some background information
about the study organism to better understand the data presented below.
Rabbitbrush (Ericameria nauseosa) is a native perennial
shrub in the Asteraceae family. Rabbitbrush has erect stems and commonly
has numerous leaves. When flowers bloom in late summer and fall they are
bright yellow and are in clusters. Around 21 species of rabbitbrush have
been described within North America and placed in gray or green colored
groups (genotypes), both of which can be deciduous or non-deciduous.
Within these subspecies ranges are variable with some being very
narrowly isolated but many being widely distributed with overlapping
ranges (McArthur et al., 1986). Within these overlapping subspecies they
are often found growing together. Despite these morphological and
ecological differences little if any work has been done on the ability
of pollinators to discriminate between subspecies, resulting in a
significant gap in our knowledge of how these subspecies are maintained.
First I will read in a csv that shows morphological measurements
for each genotype of rabbitbrush at each of the 5 research sites.
| site | color | decid | corolla_length | corolla_width | anther_length |
|---|---|---|---|---|---|
| Midvale | Gray | FALSE | 5.00 | 1.00 | 2.50 |
| Midvale | Gray | FALSE | 5.00 | 1.25 | 3.00 |
| Midvale | Gray | FALSE | 5.00 | 1.00 | 3.00 |
| Midvale | Gray | FALSE | 5.50 | 1.00 | 2.00 |
| Midvale | Gray | FALSE | 5.50 | 1.00 | 2.00 |
| Midvale | Green | FALSE | 4.00 | 1.25 | 3.50 |
| Midvale | Green | FALSE | 4.25 | 1.00 | 2.25 |
| Midvale | Green | FALSE | 4.00 | 1.00 | 3.00 |
| Midvale | Green | FALSE | 4.50 | 1.25 | 3.00 |
| Midvale | Green | FALSE | 4.50 | 1.00 | 3.00 |
| Inlet_Park | Gray | FALSE | 5.00 | 1.00 | 5.50 |
| Inlet_Park | Gray | FALSE | 5.00 | 1.00 | 2.50 |
| Inlet_Park | Gray | FALSE | 5.00 | 1.00 | 4.00 |
| Inlet_Park | Gray | FALSE | 5.00 | 1.00 | 3.50 |
| Inlet_Park | Gray | FALSE | 4.00 | 1.00 | 3.00 |
| Inlet_Park | Green | TRUE | 4.00 | 0.75 | 1.50 |
| Inlet_Park | Green | TRUE | 3.50 | 1.00 | 1.50 |
| Inlet_Park | Green | TRUE | 4.00 | 1.00 | 1.50 |
| Inlet_Park | Green | TRUE | 3.50 | 0.75 | 1.50 |
| Inlet_Park | Green | TRUE | 3.00 | 1.00 | 4.00 |
| Bluffdale | Gray | FALSE | 5.00 | 1.00 | 3.50 |
| Bluffdale | Gray | FALSE | 5.00 | 1.00 | 3.00 |
| Bluffdale | Gray | FALSE | 5.00 | 1.00 | 4.00 |
| Bluffdale | Gray | FALSE | 4.50 | 1.00 | 3.00 |
| Bluffdale | Gray | FALSE | 4.00 | 1.00 | 3.50 |
| Bluffdale | Gray | FALSE | 8.00 | 1.25 | 3.00 |
| Bluffdale | Gray | FALSE | 6.50 | 1.25 | 3.00 |
| Bluffdale | Gray | FALSE | 7.00 | 1.00 | 2.50 |
| Bluffdale | Gray | FALSE | 7.00 | 1.00 | 3.00 |
| Bluffdale | Gray | FALSE | 7.50 | 1.25 | 3.25 |
| Bluffdale | Green | FALSE | 4.00 | 1.00 | 3.00 |
| Bluffdale | Green | FALSE | 4.50 | 1.00 | 3.00 |
| Bluffdale | Green | FALSE | 4.00 | 1.00 | 4.00 |
| Bluffdale | Green | FALSE | 4.50 | 1.00 | 3.50 |
| Bluffdale | Green | FALSE | 5.00 | 1.00 | 2.50 |
| Provo_Mouth | Gray | TRUE | 6.50 | 2.00 | 4.00 |
| Provo_Mouth | Gray | TRUE | 6.00 | 1.00 | 4.00 |
| Provo_Mouth | Gray | TRUE | 5.50 | 1.00 | 2.00 |
| Provo_Mouth | Gray | TRUE | 5.50 | 1.00 | 3.00 |
| Provo_Mouth | Gray | TRUE | 5.50 | 1.00 | 2.00 |
| Provo_Mouth | Gray | TRUE | 7.00 | 1.50 | 2.50 |
| Provo_Mouth | Gray | TRUE | 7.50 | 1.50 | 3.50 |
| Provo_Mouth | Gray | TRUE | 5.50 | 1.00 | 3.00 |
| Provo_Mouth | Gray | TRUE | 7.00 | 1.50 | 3.50 |
| Provo_Mouth | Gray | TRUE | 6.00 | 1.50 | 3.00 |
| Provo_Mouth | Green | TRUE | 6.00 | 1.00 | 1.50 |
| Provo_Mouth | Green | TRUE | 5.50 | 1.00 | 2.50 |
| Provo_Mouth | Green | TRUE | 5.50 | 1.00 | 3.00 |
| Provo_Mouth | Green | TRUE | 4.50 | 0.80 | 2.25 |
| Provo_Mouth | Green | TRUE | 4.50 | 0.80 | 2.00 |
| Canyon_View | Gray | TRUE | 7.00 | 1.25 | 3.00 |
| Canyon_View | Gray | TRUE | 7.00 | 1.00 | 2.00 |
| Canyon_View | Gray | TRUE | 6.00 | 1.00 | 2.00 |
| Canyon_View | Gray | TRUE | 6.00 | 1.50 | 2.50 |
| Canyon_View | Gray | TRUE | 6.50 | 1.00 | 2.50 |
| Canyon_View | Gray | TRUE | 6.00 | 1.00 | 3.00 |
| Canyon_View | Gray | TRUE | 6.00 | 1.00 | 3.00 |
| Canyon_View | Gray | TRUE | 6.00 | 1.00 | 3.00 |
| Canyon_View | Gray | TRUE | 7.00 | 1.00 | 4.00 |
| Canyon_View | Gray | TRUE | 6.50 | 1.50 | 3.50 |
| Canyon_View | Green | TRUE | 6.00 | 1.00 | 1.50 |
| Canyon_View | Green | TRUE | 5.50 | 1.00 | 2.00 |
| Canyon_View | Green | TRUE | 4.80 | 1.50 | 2.15 |
One important difference in many plants is the success of their
seeds. Seed germination and days till germination can vary widely
between plant species. These factors may cause speciation within
clusters of sympatrically growing seed plants (Willis et al., 2014).
Some plants will put large energy resources into their seeds, allowing
for a greater percent germination of their seeds. On the other hand some
plants can create more seeds with lower germination and succeed in
spreading many propagules with a small but acceptable germination rate.
The timing of the germination event can also play a key role in
ecological separation as a delay of several weeks may cause plants with
differing germination to develop differently.
This data set
shows germination percentages for each site and how many days it took
each genotype to germinate.
| site | germ_per | day_till | color | lat | long | elevation_m | decid |
|---|---|---|---|---|---|---|---|
| Tabiona | 50 | 17.00 | Gray | 40.35184 | -110.7108 | 1985 | TRUE |
| Tabiona | 10 | 5.00 | Green | 40.35184 | -110.7108 | 1985 | FALSE |
| Tabiona | 30 | 9.00 | Gray | 40.35184 | -110.7108 | 1985 | TRUE |
| Tabiona | 50 | 11.80 | Green | 40.35184 | -110.7108 | 1985 | FALSE |
| Provo_Overlook | 30 | 50.00 | Gray | 40.32350 | -111.6326 | 1612 | FALSE |
| Canyon_View | 20 | 41.50 | Gray | 40.32505 | -111.6441 | 1491 | TRUE |
| Canyon_View | 30 | 9.00 | Gray | 40.32505 | -111.6441 | 1491 | TRUE |
| Canyon_View | 30 | 10.30 | Green | 40.32505 | -111.6441 | 1491 | TRUE |
| Canyon_View | 50 | 14.00 | Green | 40.32505 | -111.6441 | 1491 | TRUE |
| Lehi_Highway | 40 | 15.75 | Green | 40.44369 | -111.9065 | 1406 | TRUE |
| Lehi_Highway | 50 | 12.40 | Green | 40.44369 | -111.9065 | 1406 | TRUE |
| Lehi_Highway | 20 | 5.00 | Gray | 40.44369 | -111.9065 | 1406 | FALSE |
| Lehi_Highway | 40 | 13.00 | Gray | 40.44369 | -111.9065 | 1406 | FALSE |
| MTEC_Lehi | 70 | 7.57 | Green | 40.42186 | -111.8921 | 1383 | TRUE |
| MTEC_Lehi | 80 | 6.25 | Green | 40.42186 | -111.8921 | 1383 | TRUE |
| MTEC_Lehi | 10 | 53.00 | Gray | 40.42186 | -111.8921 | 1383 | TRUE |
| Inlet_Park | 20 | 5.00 | Gray | 40.35732 | -111.8982 | 1371 | FALSE |
| Inlet_Park | 30 | 4.00 | Gray | 40.35732 | -111.8982 | 1371 | FALSE |
| Inlet_Park | 80 | 17.80 | Green | 40.35732 | -111.8982 | 1371 | TRUE |
| Inlet_Park | 50 | 15.20 | Green | 40.35732 | -111.8982 | 1371 | TRUE |
| Bluffdale | 20 | 10.00 | Gray | 40.48013 | -111.9251 | 1363 | FALSE |
| Bluffdale | 50 | 25.00 | Green | 40.48013 | -111.9251 | 1363 | FALSE |
| Bluffdale | 30 | 19.00 | Green | 40.48013 | -111.9251 | 1363 | FALSE |
| Bluffdale | 40 | 12.00 | Gray | 40.48013 | -111.9251 | 1363 | FALSE |
| Midvale | 40 | 5.00 | Gray | 40.59948 | -111.9191 | 1306 | FALSE |
| Midvale | 50 | 8.00 | Gray | 40.59948 | -111.9191 | 1306 | FALSE |
| Midvale | 80 | 15.00 | Green | 40.59948 | -111.9191 | 1306 | FALSE |
| Midvale | 70 | 20.00 | Green | 40.59948 | -111.9191 | 1306 | FALSE |
| Provo_Mouth | 10 | 8.00 | Gray | 40.30984 | -111.6568 | 1465 | TRUE |
| Provo_Mouth | 20 | 15.00 | Gray | 40.30984 | -111.6568 | 1465 | TRUE |
| Provo_Mouth | 70 | 22.00 | Green | 40.30984 | -111.6568 | 1465 | TRUE |
| Provo_Mouth | 50 | 29.00 | Green | 40.30984 | -111.6568 | 1465 | TRUE |
Now to looking at how morphological traits and germination rates
relate.
This box plot shows us that green genotypes have a higher
germination percent and shorter corolla length compared to the gray
genotype that has lower germination percent and longer corolla lengths.
Let’s do some statistical testing to see if any of these depictions are
significant!
## List of 10
## $ statistic : Named num -17.7
## ..- attr(*, "names")= chr "t"
## $ parameter : Named num 126
## ..- attr(*, "names")= chr "df"
## $ p.value : num 5.07e-36
## $ conf.int : num [1:2] -35.8 -28.6
## ..- attr(*, "conf.level")= num 0.95
## $ estimate : Named num [1:2] 5.38 37.62
## ..- attr(*, "names")= chr [1:2] "mean of x" "mean of y"
## $ null.value : Named num 0
## ..- attr(*, "names")= chr "difference in means"
## $ stderr : num 1.82
## $ alternative: chr "two.sided"
## $ method : chr "Welch Two Sample t-test"
## $ data.name : chr "Morph_Germ$corolla_length and Morph_Germ$germ_per"
## - attr(*, "class")= chr "htest"
Running a Ttest helps to see that since the p-value is < 0.5 that
the germination percent and corolla length depending on the genotype of
rabbitbrush is significant. There is quite a difference between the two
color groups.
Flowering phenology and germination go hand in hand. The map below
shows each location of the 5 sites.
| site | color | flower_start | flower_end | lat | long | elevation_m |
|---|---|---|---|---|---|---|
| Midvale | Gray | 2022-09-06 18:00:00 | 2022-10-19 18:00:00 | 40.59948 | -111.9191 | 1306 |
| Midvale | Green | 2022-08-29 18:00:00 | 2022-10-05 18:00:00 | 40.59948 | -111.9191 | 1306 |
| Inlet_Park | Gray | 2022-08-29 18:00:00 | 2022-10-10 18:00:00 | 40.35732 | -111.8982 | 1371 |
| Inlet_Park | Green | 2022-08-29 18:00:00 | 2022-10-01 18:00:00 | 40.35732 | -111.8982 | 1371 |
| Bluffdale | Gray | 2022-09-12 18:00:00 | 2022-10-19 18:00:00 | 40.48013 | -111.9251 | 1363 |
| Bluffdale | Green | 2022-09-14 18:00:00 | 2022-10-23 18:00:00 | 40.48013 | -111.9251 | 1363 |
| Provo_Mouth | Gray | 2022-10-03 18:00:00 | 2022-10-23 18:00:00 | 40.30984 | -111.6568 | 1465 |
| Provo_Mouth | Green | 2022-10-12 18:00:00 | 2022-10-23 18:00:00 | 40.30984 | -111.6568 | 1465 |
| Canyon_View | Gray | 2022-09-14 18:00:00 | 2022-10-14 18:00:00 | 40.32505 | -111.6441 | 1491 |
| Canyon_View | Green | 2022-09-21 18:00:00 | 2022-10-23 18:00:00 | 40.32505 | -111.6441 | 1491 |
| color | site | mean_flower_time |
|---|---|---|
| Gray | Bluffdale | 37 days |
| Gray | Canyon_View | 30 days |
| Gray | Inlet_Park | 42 days |
| Gray | Midvale | 43 days |
| Gray | Provo_Mouth | 20 days |
| Green | Bluffdale | 39 days |
| Green | Canyon_View | 32 days |
| Green | Inlet_Park | 33 days |
| Green | Midvale | 37 days |
| Green | Provo_Mouth | 11 days |
Here we see, visually, that there is a difference in flowering time
depending on the genotype of rabbitbrush. The gray genotype has a longer
flowering time than the green genotype.
To test if there is a
high probability in seeing a difference of flowering time between the
gray and green genotypes generically, a few statistical tests and models
will be run.
## List of 10
## $ statistic : Named num 10.2
## ..- attr(*, "names")= chr "t"
## $ parameter : Named num 9
## ..- attr(*, "names")= chr "df"
## $ p.value : num 3.04e-06
## $ conf.int : num [1:2] 25.2 39.6
## ..- attr(*, "conf.level")= num 0.95
## $ estimate : Named num 32.4
## ..- attr(*, "names")= chr "mean of x"
## $ null.value : Named num 0
## ..- attr(*, "names")= chr "mean"
## $ stderr : num 3.18
## $ alternative: chr "two.sided"
## $ method : chr "One Sample t-test"
## $ data.name : chr "Phenology$flower_time"
## - attr(*, "class")= chr "htest"
The p-value of 3.04 e-06 tells us that depending on the
geneotype we will see a difference of flowering time between the two.
Now to run a model to test if that is the actuality:
## Df Sum Sq Mean Sq F value Pr(>F)
## color 1 40.0 40.0 0.368 0.561
## Residuals 8 868.4 108.5
In this aov model we see that flowering time isn’t that
significant when depending on the genotype. So, let’s look at how
genotype and location of the plants relate:
## Df Sum Sq Mean Sq F value Pr(>F)
## color 1 40.0 40.00 2.54 0.186
## site 4 805.4 201.35 12.78 0.015 *
## Residuals 4 63.0 15.75
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Here we see that the flowering time is significant depending on the
location that plant was in. Not necessarily the plant genotype.
Pollen flow is such an important factor to consider when studying
plant and pollinator interactions.
Loading and cleaning another pollen data set with all the
pigment found at each site for a duration of 40 minutes per
site.
start <-
flow_count %>%
filter(time_point == "Start" & T_F)
end <-
flow_count %>%
filter(time_point == "End" & T_F)
pig <- full_join(start,end) %>%
group_by(time_point,pigment_movement) %>%
summarize(N=n())
library(networkD3)
library(dplyr)
links <- data.frame(
source= c("Start_Green","Start_Green", "Start_Gray","Start_Gray"),
target= c("End_Green", "End_Gray", "End_Gray", "End_Green"),
value=c(26,19,16,13)
)
nodes <- data.frame(
name=c(as.character(links$source),
as.character(links$target)) %>% unique()
)
links$IDsource <- match(links$source, nodes$name)-1
links$IDtarget <- match(links$target, nodes$name)-1
my_color <- 'd3.scaleOrdinal() .domain(["Start_Green", "Start_Gray", "End_Green", "End_Gray"]) .range(["green", "grey", "green", "grey"])'
p <- sankeyNetwork(Links = links, Nodes = nodes,
Source = "IDsource", Target = "IDtarget",
Value = "value", NodeID = "name", colourScale = my_color,
sinksRight = FALSE)
library(htmlwidgets)
saveWidget(p,"sankey2.html")
#making a connection data frame that is a list showing where pigment started and ended for each site.
#creating a node data frame
#creating the connection by id since network3D donest uses names.
#making the NETWORK
#saving the widget